From: Timm Bäder Date: Thu, 22 Aug 2019 11:14:57 +0000 (+0200) Subject: cssanimatedstyle: Keep transition_info_add from recursing X-Git-Tag: archive/raspbian/4.4.1+ds1-2+rpi1~1^2~321^2^2~957 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=ceb8aedf974fe1037e13735a6761b26713454369;p=gtk4.git cssanimatedstyle: Keep transition_info_add from recursing The slowest part of that fuction is the type check for GtkCssShorthandProperty. Subproperties of shorthand properties never refer to more shorthand properties however, so we don't want to have the type check for those. --- diff --git a/gtk/gtkcssanimatedstyle.c b/gtk/gtkcssanimatedstyle.c index ece7037bc6..4aa82c0fe9 100644 --- a/gtk/gtkcssanimatedstyle.c +++ b/gtk/gtkcssanimatedstyle.c @@ -203,8 +203,14 @@ transition_info_add (TransitionInfo infos[GTK_CSS_PROPERTY_N_PROPERTIES], for (i = 0; i < len; i++) { GtkCssStyleProperty *prop = _gtk_css_shorthand_property_get_subproperty (shorthand, i); + guint id; - transition_info_add (infos, (GtkStyleProperty *)prop, index); + if (!_gtk_css_style_property_is_animated ((GtkCssStyleProperty *) prop)) + continue; + + id = _gtk_css_style_property_get_id ((GtkCssStyleProperty *) prop); + infos[id].index = index; + infos[id].pending = TRUE; } } else